#特殊属性





#特殊方法
a=20
b=100
c=a+b  #两个整数类型的对象相加的操作

class Student:
    def __init__(self,name):
        self.name=name

    def __add__(self, other):
        return self.name+other.name
student1=Student('h')
student2=Student('b')
s=student1+student2      #实现了两个对象的加法运算（因为在Student类中 编写了 __add__（）的特殊方法
print(s)
s=student1.__add__(student2)        #只有用add方法才能加两个对象
print('-------------------------------------------------------------------------')
lst=[11,22,33,44]
print(len(lst))
print(lst.__len__())  #长度

#
class Person(object):
    def __init__(self,name,age):
        self.name=name
        self.age=age
    def __new__(cls, *args, **kwargs):
        print('__new__被调用执行了，cls的id值为{0}',format(id(cls)))
        obj=super().__new__(cls)
        print('创建的对象的id为：{0}'.format(id(obj)))
        return obj

print('id'.format(id(object)))
print('id1'.format(id(Person)))
p1=Person('张三',20)
print('p1这个Person类的实例对象ID为'.format(id(p1)))
